package com.koi.clubservice.domain.po;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.koi.clubservice.Utils.CourseScheduleUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 课程表
 * </p>
 *
 * @author koi
 * @since 2025-03-27
 */

@Data
//@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("course_schedule")
@ApiModel(value="CourseSchedule对象", description="课程表")
public class CourseSchedule implements Serializable{

    @ApiModelProperty(value = "任课老师")
    @TableField("teacher")
    @ExcelProperty(value = "任课教师",index = 0)
    private String teacher;

    @ApiModelProperty(value = "周次")
    @TableField("week")
    @ExcelProperty(value = "周次",index = 9)
    private String week;

    @ApiModelProperty(value = "节次")
    @TableField("class_time")
    @ExcelProperty(value = "节次",index = 10)
    private String classTime;

    @ApiModelProperty(value = "上课地点")
    @TableField("classroom")
    @ExcelProperty(value = "上课地点",index = 11)
    private String classroom;

    @ApiModelProperty(value = "班级所在校区")
    @TableField("campus")
    @ExcelProperty(value = "班级所在校区")
    private String campus;

    @ApiModelProperty(value = "上课时间")
    @TableField(exist = false)
    private List<CourseScheduleUtils.DateRange> dateRanges;

    public void setDateRanges(List<CourseScheduleUtils.DateRange> dateRanges) {
        this.dateRanges = dateRanges;
    }
}
